home *** CD-ROM | disk | FTP | other *** search
- function mePressed(mn, tp)
- {
- var _loc1_ = mn;
- var _loc2_ = tp;
- var _loc3_ = this;
- if(gameOn != false)
- {
- if(_loc2_ == 1 || _loc2_ == 2 || _loc2_ == 4)
- {
- toplimit = _loc3_["vehicle" + _loc1_]._y;
- bottomlimit = _loc3_["vehicle" + _loc1_]._y;
- leftlimit = getleftlimit(_loc1_,_loc2_);
- rightlimit = getrightlimit(_loc1_,_loc2_);
- }
- else
- {
- leftlimit = _loc3_["vehicle" + _loc1_]._x;
- rightlimit = _loc3_["vehicle" + _loc1_]._x;
- toplimit = gettoplimit(_loc1_,_loc2_);
- bottomlimit = getbottomlimit(_loc1_,_loc2_);
- }
- _loc3_["vehicle" + _loc1_].startDrag(false,leftlimit,toplimit,rightlimit,bottomlimit);
- }
- }
- function meReleased(mn, tp)
- {
- var _loc1_ = this;
- var _loc2_ = mn;
- _loc1_["vehicle" + _loc2_].stopDrag();
- newvx = Math.floor(_loc1_["vehicle" + _loc2_]._x / 36);
- newvy = Math.floor(_loc1_["vehicle" + _loc2_]._y / 36);
- _loc1_["vehicle" + _loc2_].vx = newvx;
- _loc1_["vehicle" + _loc2_].vy = newvy;
- _loc1_["vehicle" + _loc2_]._x = newvx * 36;
- _loc1_["vehicle" + _loc2_]._y = newvy * 36;
- updateGridArray();
- Moves++;
- txtMoves.text = Moves;
- if(tp == 1 && _loc1_["vehicle" + _loc2_].vx == 5)
- {
- gameOn = false;
- gamescleared[glevel] = true;
- _loc1_["thelevel" + glevel].marker._visible = true;
- tgamescleared++;
- if(tgamescleared == 60)
- {
- btnNextLevel._visible = false;
- }
- btnNextLevel.gotoAndStop(2);
- score += 100;
- if(Moves < 50)
- {
- score += 50 - Moves;
- }
- txtScore.text = score;
- }
- }
- function getleftlimit(mn, tp)
- {
- var _loc2_ = mn;
- var _loc3_ = this;
- if(_loc3_["vehicle" + _loc2_].vx == 0)
- {
- return 0;
- }
- var _loc1_ = _loc3_["vehicle" + _loc2_].vx - 1;
- while(_loc1_ >= 0)
- {
- if(gridarray[_loc1_][_loc3_["vehicle" + _loc2_].vy] == 1)
- {
- return (_loc1_ + 1) * 36;
- }
- _loc1_ = _loc1_ - 1;
- }
- }
- function gettoplimit(mn, tp)
- {
- var _loc2_ = mn;
- var _loc3_ = this;
- if(_loc3_["vehicle" + _loc2_].vy == 0)
- {
- return 0;
- }
- var _loc1_ = _loc3_["vehicle" + _loc2_].vy - 1;
- while(_loc1_ >= 0)
- {
- if(gridarray[_loc3_["vehicle" + _loc2_].vx][_loc1_] == 1)
- {
- return (_loc1_ + 1) * 36;
- }
- _loc1_ = _loc1_ - 1;
- }
- return 0;
- }
- function getrightlimit(mn, tp)
- {
- var _loc2_ = mn;
- var _loc3_ = this;
- var startatx = 0;
- var stepsfor = 0;
- switch(tp)
- {
- case 1:
- case 2:
- startatx = _loc3_["vehicle" + _loc2_].vx + 2;
- break;
- case 3:
- startatx = _loc3_["vehicle" + _loc2_].vx + 1;
- break;
- case 4:
- startatx = _loc3_["vehicle" + _loc2_].vx + 3;
- break;
- case 5:
- startatx = _loc3_["vehicle" + _loc2_].vx + 1;
- }
- if(startatx > 6)
- {
- return _loc3_["vehicle" + _loc2_].vx + 0;
- }
- var newstartx = 0;
- var _loc1_ = startatx;
- while(_loc1_ < 6)
- {
- yval = _loc3_["vehicle" + _loc2_].vy;
- if(gridarray[_loc1_][yval] != 0)
- {
- break;
- }
- newstartx++;
- _loc1_ = _loc1_ + 1;
- }
- if(tp == 1)
- {
- if(_loc3_["vehicle" + _loc2_].vx + newstartx == 4)
- {
- return (_loc3_["vehicle" + _loc2_].vx + newstartx + 1) * 36;
- }
- }
- return (_loc3_["vehicle" + _loc2_].vx + newstartx) * 36;
- }
- function getbottomlimit(mn, tp)
- {
- var _loc3_ = mn;
- var _loc2_ = 0;
- var stepsfor = 0;
- switch(tp)
- {
- case 1:
- case 2:
- _loc2_ = this["vehicle" + _loc3_].vy + 1;
- break;
- case 3:
- _loc2_ = this["vehicle" + _loc3_].vy + 2;
- break;
- case 4:
- _loc2_ = this["vehicle" + _loc3_].vy + 1;
- break;
- case 5:
- _loc2_ = this["vehicle" + _loc3_].vy + 3;
- }
- if(_loc2_ > 6)
- {
- return this["vehicle" + _loc3_].vy + 0;
- }
- var newstarty = 0;
- var _loc1_ = _loc2_;
- while(_loc1_ < 6)
- {
- xval = this["vehicle" + _loc3_].vx;
- gridvalue = gridarray[xval][_loc1_];
- if(gridvalue != 0)
- {
- break;
- }
- newstarty++;
- _loc1_ = _loc1_ + 1;
- }
- return (this["vehicle" + _loc3_].vy + newstarty) * 36;
- }
- function updateGridArray()
- {
- var _loc3_ = this;
- var _loc2_ = 0;
- while(_loc2_ < 6)
- {
- var _loc1_ = 0;
- while(_loc1_ < 6)
- {
- gridarray[_loc2_][_loc1_] = 0;
- _loc1_ = _loc1_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc2_ = 0;
- while(_loc2_ < totalvehicles)
- {
- veh = _loc3_["vehicle" + _loc2_];
- switch(veh._currentframe)
- {
- case 1:
- case 2:
- gridarray[veh.vx][veh.vy] = 1;
- gridarray[veh.vx + 1][veh.vy] = 1;
- break;
- case 3:
- gridarray[veh.vx][veh.vy] = 1;
- gridarray[veh.vx][veh.vy + 1] = 1;
- break;
- case 4:
- gridarray[veh.vx][veh.vy] = 1;
- gridarray[veh.vx + 1][veh.vy] = 1;
- gridarray[veh.vx + 2][veh.vy] = 1;
- break;
- case 5:
- gridarray[veh.vx][veh.vy] = 1;
- gridarray[veh.vx][veh.vy + 1] = 1;
- gridarray[veh.vx][veh.vy + 2] = 1;
- break;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- function showGridData()
- {
- var _loc2_ = 0;
- while(_loc2_ < 6)
- {
- str = "";
- var _loc1_ = 0;
- while(_loc1_ < 6)
- {
- str += " " + gridarray[_loc1_][_loc2_];
- _loc1_ = _loc1_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- function clearVehicles()
- {
- var _loc1_ = 1;
- while(_loc1_ < totalvehicles)
- {
- unloadMovie("vehicle" + _loc1_);
- _loc1_ = _loc1_ + 1;
- }
- }
- var gameOn = true;
- var Moves = 0;
- btnNextLevel.gotoAndStop(1);
- if(tgamescleared == 59)
- {
- btnNextLevel._visible = false;
- }
- var yp = thelevel0._y;
- var l = 0;
- while(l < 60)
- {
- if(l == 0)
- {
- thelevel = thelevel0;
- }
- else
- {
- thelevel = thelevel0.duplicateMovieClip("thelevel" + l,l + 500);
- thelevel._x = thelevel0._x + l % 10 * thelevel0._width;
- thelevel._visible = true;
- if(l % 10 == 0)
- {
- yp += thelevel0._height;
- }
- thelevel._y = yp;
- }
- thelevel.txtNo.text = l + 1;
- thelevel.marker._visible = gamescleared[l];
- l++;
- }
- var gridarray = new Array();
- var i = 0;
- while(i < 6)
- {
- gridarray[i] = new Array(0,0,0,0,0,0);
- i++;
- }
- txtLevel.text = glevel + 1;
- txtMoves.text = Moves;
- var totalvehicles = glevels[glevel].length;
- var i = 0;
- while(i < totalvehicles)
- {
- if(i > 0)
- {
- veh = vehicle0.duplicateMovieClip("vehicle" + i,i);
- }
- else
- {
- veh = vehicle0;
- }
- veh._visible = true;
- veh.gotoAndStop(glevels[glevel][i].vtype);
- veh.stop();
- veh._x = glevels[glevel][i].vx * 36;
- veh._y = glevels[glevel][i].vy * 36;
- veh.vx = glevels[glevel][i].vx;
- veh.vy = glevels[glevel][i].vy;
- veh.mynumber = i;
- i++;
- }
- updateGridArray();
- stop();
-